package com.en.sharing.pecs;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * 合并工具类
 *
 * @author 付晓飞
 * @date 2024/3/12 7:41 下午
 */
public class UnionAndSort {

    public static <T> List<T> unionT(List<T> list1, List<T> list2) {
        final List<T> ts = new ArrayList<>(list1);
        ts.addAll(list2);
        return ts;
    }

    public static <T> List<T> union(List<? extends T> list1, List<? extends T> list2) {
        final List<T> ts = new ArrayList<>(list1);
        ts.addAll(list2);
        return ts;
    }

    public static void main(String[] args) {
        // 两个单位不一致的数字比较
        List<Integer> l1 = Arrays.asList(1, 2, 3, 4, 5);
        List<Long> l2 = Arrays.asList(4L, 6L, 13L, 8L, 15L);
        // 合并
        // 不同参数类型无法使用 unionT
        // List<Number>  l3 = unionT(l1, l2);
        List<Number>  l3 = union(l1, l2);

        // todo 消费者
    }

}
